#ifndef __CFG_INI_H__
#define __CFG_INI_H__

/*********************************************************************
 * INCLUDES
 */

#ifdef __cplusplus
extern "C" {
#endif

#if (SAL_CFG_INI == _ENABLE)

/*********************************************************************
 *  EXTERNAL VARIABLES
 */

/*********************************************************************
 * MACROS
 */

/*********************************************************************
 * TYPES
 */


/*********************************************************************
 * FUNCTIONS
 */

/**
 *   @Description: 读取INI文件数据
 *   @param : pFilePath - 文件路径
 *   @param : pSection
 *   @param : pKey - 关键字
 *   @param : pValue - 读取的数据缓存
 *   @param : iMaxLen - 缓存大小
 *   @return: _OK/_ERR
 */
int32_t INI_Read(const char *pFilePath, const char *pSection, const char *pKey, char *pValue, uint32_t iMaxLen);

/**
 *   @Description: 写入INI文件数据
 *   @param : pFilePath - 文件路径
 *   @param : pSection
 *   @param : pKey - 关键字
 *   @param : pValue - 写入的数据
 *   @return: _OK/_ERR
 */
int32_t INI_Write(const char *pFilePath, const char *pSection, const char *pKey, const char *pValue);

/**
 *   @Description: 在Flash中读取INI数据
 *   @param : uiAddr - flash地址
 *   @param : pSection
 *   @param : pKey - 关键字
 *   @param : pValue - 读取的数据缓存
 *   @param : iMaxLen - 缓存大小
 *   @return: _OK/_ERR
 */
int32_t INI_ReadFlash(const uint32_t uiAddr, const char *pSection, const char *pKey, char *pValue, uint32_t iMaxLen);

/**
 *   @Description: 向Flash中写入INI数据
 *   @param : uiAddr - flash地址
 *   @param : pSection
 *   @param : pKey - 关键字
 *   @param : pValue - 写入的数据
 *   @return: _OK/_ERR
 */
int32_t INI_WriteFlash(const uint32_t uiAddr, const char *pSection, const char *pKey, const char *pValue);

#endif  // SAL_CFG_INI == _ENABLE

#ifdef __cplusplus
}
#endif /* end of __cplusplus */

#endif

/************************************** The End Of File **************************************/

